GdkWin32: Fix mouse events in presence of transparent windows on the desktop
authorLuca Bacci <luca.bacci982@gmail.com>
Fri, 6 Nov 2020 21:43:45 +0000 (22:43 +0100)
committerLuca Bacci <luca.bacci982@gmail.com>
Wed, 11 Nov 2020 11:46:52 +0000 (12:46 +0100)
commitaec87a3514616ab83b698b85490357b7eeca4d56
tree8c0744f4db4ec12d13c908fb843363cc45555594
parent4661f15fab67750edfb6c233657b523984068cf3
GdkWin32: Fix mouse events in presence of transparent windows on the desktop

In gdkdevice-win32.c we are interested in knowing which window
receives mouse input at a specific location.

Only WindowFromPoint is the right API for the task, other API's
(such as (Real)ChildWindowFromPoint(Ex)) have shortcomings because
they are really designed for other purposes. For example, only
WindowFromPoint is able to look through transparent layered windows.

So even if we want to find a direct child we have to use
WindowFromPoint and then walk up the hierarchy.

Fixes: #370, #417
See: !2800
gdk/win32/gdkdevice-win32.c